<?php
/**
 * @file : datarelation.php
 * @date : 2015-01-05
 */
namespace haibao\cms\data;

class DataRelation extends \haibao\cms\data\BaseMysql{

    public function __construct(){
        parent::__construct('\haibao\cms\model\data\DataAssociation');
    }

   	/**
   	 * 添加图片与明星的关联关系
   	 * @param : int $imageId
   	 * @param : int $celebrityId
   	 */
    public function addImageCelebrity($imageId, $celebrityId){
    	
    	$sql = 'insert into `ImageStar` (ImageId,StarId) values (%s,%s)';
		
    	$arrValues = array();
    	array_push($arrValues,$imageId);
    	array_push($arrValues,$celebrityId);
    	
    	try{
    		
    		$this->query($sql, $arrValues);
    	
    	}catch (\Exception $e){
			throw $e;
    	}
    }
    
    /**
     * 添加图片与单品的关联关系
     * @param : int $imageId
     * @param : int $productId
     */
    public function addImageProduct($imageId, $productId){
    	 
    	$sql = 'insert into `ImageProduct` (ImageId,ProductId) values (%s,%s)';
    
    	$arrValues = array();
    	array_push($arrValues,$imageId);
    	array_push($arrValues,$productId);
    	 
    	try{
    
    		$this->query($sql, $arrValues);
    		 
    	}catch (\Exception $e){
    		throw $e;
    	}
    }
    
    /**
     * 添加图片与品牌的关联关系
     * @param : int $imageId
     * @param : int $brandId
     */
    public function addImageBrand($imageId, $brandId){
    
    	$sql = 'insert into `ImageBrand` (ImageId,BrandId) values (%s,%s)';
    
    	$arrValues = array();
    	array_push($arrValues,$imageId);
    	array_push($arrValues,$brandId);
    
    	try{
    
    		$this->query($sql, $arrValues);
    		 
    	}catch (\Exception $e){
    		throw $e;
    	}
    }

    /**
     * 添加图片与事件的关联关系
     * @param : int $imageId
     * @param : int $eventId
     */
    public function addImageEvent($imageId, $eventId){
    
    	$sql = 'insert into `ImageEvent` (ImageId,EventId) values (%s,%s)';
    
    	$arrValues = array();
    	array_push($arrValues,$imageId);
    	array_push($arrValues,$eventId);
    
    	try{
    
    		$this->query($sql, $arrValues);
    		 
    	}catch (\Exception $e){
    		throw $e;
    	}
    }
    
    /**
     * 添加事件与品牌的关联关系 (1对多)
     * @param : int $eventId
     * @param : array $brandIds
     */
    public function addEventBrand($eventId, $brandIds){

    	$sql = 'insert into `EventBrand` (EventId,BrandId) values ';

    	$sqlArr = $valArr = array();
    	foreach($brandIds as $brandId){
    		array_push($sqlArr, '(%s,%s)');
    		array_push($valArr, $eventId,$brandId);
    	}
    	
    	$sql .= implode(',', $sqlArr);
    	try{
    
    		$this->query($sql, $valArr);
    		 
    	}catch (\Exception $e){
    		throw $e;
    	}
    }
    
    /**
     * 添加品牌与事件的关联关系 (1对多)
     * @param : int $brandId
     * @param : array $eventIds
     */
    public function addBrandEvent($brandId, $eventIds){
    
    	$sql = 'insert into `EventBrand` (EventId,BrandId) values ';
    
    	$sqlArr = $valArr = array();
    	foreach($eventIds as $eventId){
    		array_push($sqlArr, '(%s,%s)');
    		array_push($valArr, $eventId,$brandId);
    	}
    	 
    	$sql .= implode(',', $sqlArr);
    	try{
    
    		$this->query($sql, $valArr);
    		 
    	}catch (\Exception $e){
    		throw $e;
    	}
    }
    /**
     * 添加事件与明星的关联关系 1对多
     * @param : int $eventId
     * @param : Array $starIds
     */
    public function addEventStar($eventId, $starIds){
    
    	$sql = 'insert into `EventStar` (EventId,StarId) values ';
    	$sqlArr = $valArr = array();
    	foreach($starIds as $starId){
    		array_push($sqlArr, '(%s,%s)');
    		array_push($valArr, $eventId,$starId);
    	}
    	
    	$sql .= implode(',', $sqlArr);
    	try{
    	
    		$this->query($sql, $valArr);
    		 
    	}catch (\Exception $e){
    		throw $e;
    	}
    }
    /**
     * 添加明星与事件的关联关系 1对多
     * @param : int $starId
     * @param : Array $eventIds
     */
    public function addStarEvent($starId, $eventIds){
    
    	$sql = 'insert into `EventStar` (EventId,StarId) values (%s,%s)';
    	$sqlArr = $valArr = array();
    	foreach($eventIds as $eventId){
    		array_push($sqlArr, '(%s,%s)');
    		array_push($valArr, $eventId,$starId);
    	}
    	 
    	$sql .= implode(',', $sqlArr);
    	try{
    		 
    		$this->query($sql, $valArr);
    		 
    	}catch (\Exception $e){
    		throw $e;
    	}
    }

    /**
     * 添加事件与单品的关联关系
     * @param : int $eventId
     * @param : int $productId
     */
    public function addEventProduct($eventId, $productId){
    
    	$sql = 'insert into `EventProduct` (EventId,ProductId) values (%s,%s)';
    
    	$arrValues = array();
    	array_push($arrValues,$eventId);
    	array_push($arrValues,$productId);
    
    	try{
    
    		$this->query($sql, $arrValues);
    		 
    	}catch (\Exception $e){
    		throw $e;
    	}
    }
    
    /**
     * 添加单品与明星的关联关系
     * @param : int $productId
     * @param : int $starId
     */
    public function addProductStar($productId, $starId){
    
    	$sql = 'insert into `ProductStar` (ProductId,StarId) values (%s,%s)';
    
    	$arrValues = array();
    	array_push($arrValues,$productId);
    	array_push($arrValues,$starId);
    
    	try{
    
    		$this->query($sql, $arrValues);
    		 
    	}catch (\Exception $e){
    		throw $e;
    	}
    }
}
